<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
    <ContractTypesPartiallyMoved>true</ContractTypesPartiallyMoved>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
    <FeatureWasmManagedThreads Condition="'$(WasmEnableThreads)' == 'true'">true</FeatureWasmManagedThreads>
    <DefineConstants Condition="'$(FeatureWasmManagedThreads)' == 'true'">$(DefineConstants);FEATURE_WASM_MANAGED_THREADS</DefineConstants>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="System\Threading\Barrier.cs" />
    <Compile Include="System\Threading\CDSsyncETWBCLProvider.cs" />
    <Compile Include="System\Threading\CountdownEvent.cs" />
    <Compile Include="System\Threading\HostExecutionContext.cs" />
    <Compile Include="System\Threading\HostExecutionContextManager.cs" />
    <Compile Include="System\Threading\LockCookie.cs" />
    <Compile Include="System\Threading\ReaderWriterLock.cs" />
    <Compile Include="$(CommonPath)System\HResults.cs"
             Link="Common\System\HResults.cs" />
    <Compile Include="$(CommonPath)System\Obsoletions.cs"
             Link="Common\System\Obsoletions.cs" />
  </ItemGroup>

  <ItemGroup>
    <ApiCompatSuppressionFile Include="$(MSBuildThisFileDirectory)CompatibilitySuppressions.Threading.xml" Condition="'$(WasmEnableThreads)' == 'true'" />
    <ProjectReference Include="$(CoreLibProject)" />
  </ItemGroup>

</Project>
